﻿//using System.Collections.Generic;
//using System.Linq;
//using LogManager.Base;
//using LogManager.Base.Data;
//using Raven.Client;
//using Raven.Client.Document;

//namespace LogManager.Storage.Data
//{
//    public class StorageEventRepository<T> : EventRepository where T:IEvent
//    {
//        private readonly DocumentStore _store;

//        public StorageEventRepository()
//        {
//            _store = new DocumentStore { Url = "localhost:9000" };
//        }

//        protected override IQueryable<IEvent> Context
//        {
//            get
//            {
//                _store.Initialize();
//                using (var session = _store.OpenSession())
//                {
//                    return session.Query<T>() as IQueryable<IEvent>;
//                }
//            }
//        }

//        public override IEvent Get(string id)
//        {
//            _store.Initialize();
//            using (var session = _store.OpenSession())
//            {
//                return session.Load<T>(id);
//            }
//        }

//        public override IEnumerable<IEvent> All()
//        {
//            _store.Initialize();
//            using (var session = _store.OpenSession())
//            {
//                return session.Load<T>() as IEnumerable<IEvent>;
//            }
//        }
//    }
//}